User-centric Programming Language

نویسنده

  • Wiktor Nowakowski
چکیده

Ambiguously formulated and constantly changing requirements for software systems make it hard to translate them into working code. To overcome these problem, we propose an approach that consolidates the requirements specification level with the design and implementation levels in order to shorten the path from initial requirements to the final code. The end-user of the system will be able to specify requirements in a precise, semantically rich and domain independent User-centric Programming Language (UcPL), which will allow for direct transformation into application logic code. 1 Problem Description and Motivation Typical software development lifecycles comprise activities that lead from the initial requirements to the final working system. These activities produce various artifacts at different level of abstraction: design models and code. The level of technical complexity makes these artifacts inaccessible to the end-users of the system. However, end-users can discuss the logic (functionality) of the system that abstracts away all the technical details of the software system. This should be done in a language understandable to them. The logic of the problem is usually expressed within the user requirements specifications. Considering this two main problems arise. The first problem pertains to the process of transition from end-user needs into design and implementation. This includes problems with requirements elicitation and translating the functional requirements into the logic of the system. Attempts to solve these problems are mainly based on the introduction of formal and semi-formal requirements specification languages and automation of transformation between requirements and certain technical artifacts. The second problem is that the path from requirements to code makes it difficult to maintain appropriate traceability links. This is especially an issue in projects that face high changeability of the requirements. Attempts to solve these problems include rapid application development environments, certain agile methodologies, which try to shorten the path from requirements to code and certain generative approaches where the traces are generated automatically. Despite shifting the level of abstraction through the introduction of the object-oriented paradigm, still, the existing approaches necessitate a significant level of technical expertise to develop a working system. Thus, there is a rising need to bring the end-user closer to the software developers. The idea here is to let the end-users write some significant portions of software systems. The Gartner Group, in its 2008 study predicts significant growth in end-user software development. In 2010 an average of 34% of companies are expected to conduct more than 20% of application development outside of IT. Unfortunately, there are no approaches to allow the users to construct software through writing the problem logic at the level of requirements. The traditional way of producing software systems is to shift from requirements to code in a generally manual process. More modern approaches try to utilize dedicated tools to automate that process. This necessitates formalizing requirements and constraining the natural language in which they are normally written.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Enabling “Smart Spaces:” Entity Description and User Interface Generation for a Heterogeneous Component-based Distributed System

This paper motivates and describes a document-centric framework for component-based distributed systems. In the framework, XML documents are associated with programs that provide either static, immutable interface descriptions as advertisements of functionality at the server-side, or specification of manipulations of these server descriptions to express their usage at clients. We illustrate how...

متن کامل

Building Interactive Networked Musical Environments Using q3osc

Interactive networked musical gaming environments designed as control systems for external music and sound programming languages can be built using the q3osc Quake III/ioquake3 gaming mod. Bi-directional support for the Open Sound Control (OSC) messaging protocol compiled into the game engine allows for the realtime tracking, sonification, spatialization and third-party control of game entities...

متن کامل

VisionSketch: integrated support for example-centric programming of image processing applications

We propose an integrated development environment (IDE) called “VisionSketch”, which supports example-centric programming for easily building image processing pipelines. With VisionSketch, a programmer is first asked to select the input video. Then, he can start building the pipeline with a visual programming language that provides immediate graphical feedback for algorithms applied to the video...

متن کامل

A domain-specific modeling approach to realizing user-centric communication

Advances in communication devices and technologies are dramatically expanding our communication capabilities and enabling a wide range of multimedia communication applications. The current approach to develop communication-intensive applications results in products that are fragmented, inflexible and incapable of responding to changing end-users’ communication needs. These limitations have resu...

متن کامل

The HARNESS Active Agents Compatibility Suite

HARNESS is an experimental Java-centric metacomputing system based on distributed object oriented technolgy. Its main feature is the capability to mix and match heterogeneous programming models on top of virtual machines. HARNESS virtual machines can be dynamically assembled, managed and dismantled under user control and are reconfigurable both in terms of resources enrolled and in terms of ser...

متن کامل

Enabling End Users to Proactively Tailor Underspecified, Human-Centric Business Processes: "Programming by Example" of Weakly-Structured Process Models

Enterprises face the challenge of managing underspecified, human-centric business processes, which are executed in distributed teams in a rather informal, ad-hoc manner. This gave hibernating CSCW and ad-hoc workflow research a new push recently. However, there is still the need to clearly perceive end users as the actual drivers of business processes and to enable them to proactively tailor th...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010